#ifndef IMAGE_H_
#define IMAGE_H_

#include <oslib/oslib.h>
#include "Resizable2DInterface.h"
#include "Drawing.h"
#include "DrawingCanvas.h"
#include "Color.h"
#include "Types.h"

class Image : public Resizable2DInterface
{
	public:
		virtual ~Image(){}
		Image();
		Image(string _src, int _x, int _y, DrawingCanvas *_canvas);
		Image(string _src, int _x, int _y, int _w, int _h, DrawingCanvas *_canvas);
		Image(string _src, int _x, int _y, OSL_PIXELFORMAT _PF, DrawingCanvas *_canvas);
		Image(string _src, int _x, int _y, int _w, int _h, OSL_PIXELFORMAT _PF, DrawingCanvas *_canvas);
		
		bool imageIsLoaded();
		bool setSrc(string _src);
		void setImage(OSL_IMAGE *img);
		
		void setWidth(int _w);
		void setHeight(int _h);
		void setSize(int _w, int _h);
		void setSize(Size s);
		
		OSL_IMAGE * getImage();
		int getWidth();
		int getHeight();
		Size getSize();
};

#endif /*IMAGE_H_*/
